html {
  font-family: "SF Pro SC", "SF Pro Text", "SF Pro Icons", "PingFang SC", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
body {
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0; /* 去除边距 */
  overflow: hidden;
  background: rgba(33, 33, 26, 1);
}
a {
  text-decoration: none; /* 去除链接下划线 */
}
a:hover {
  color: rgb(40, 210, 190) !important;
}
.container {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.collapsed { /* 隐藏（不保留布局空间） */
  display: none;
}
.hidden { /* 隐藏（保留布局空间） */
  visibility: hidden;
}
.fade-in {
  opacity: 1 !important; /* 因定义在 uhd 之前，通过 !important 使其生效 */
}
.mt8 {
  margin-top: 8px;
}
.mb8 {
  margin-bottom: 8px;
}

.thumb {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0; /* 避免出现多余滚动条 */
  object-fit: cover; /* 填充 */
  opacity: 0;
  transition: opacity 300ms ease-out;
}
.uhd {
  position: absolute;
  z-index: 3;
  width: 100%;
  height: 100%;
  margin: 0; /* 避免出现多余滚动条 */
  object-fit: cover;
  opacity: 0;
  transition: opacity 300ms ease-out; /* 使用 transition 比 jQuery fadeIn() 更加流畅 */
}

.caption {
  position: fixed;
  z-index: 4;
  /* 通过 left bottom 控制显示于右下角 */
  left: 0;
  right: auto;
  bottom: 0;
  max-width: min(calc(100% - 60px - 32px), 550px); /* 限制内容宽度不超出550，并且不超过显示区域（需减去右内外边距） */
  margin: 30px;
  border-radius: 16px;
  padding: 13px 16px; /* 上、下 */
  user-select: none; /* 禁止选择文本 */
  /* WinUI Acrylic 效果 https://ubug.io/blog/fluent-acrylic */
  backdrop-filter: blur(30px) saturate(180%) brightness(80%); /* 背景模糊、饱和度、亮度 */
  -webkit-backdrop-filter: blur(30px) saturate(180%) brightness(80%); /* 兼容 Safari */
  background-color: rgba(0, 0, 0, 0.5); /* 需有透明度 */
}
.caption .title {
  color: rgba(255, 255, 255, 1);
  font-style: normal;
  font-weight: normal;
  font-size: large;
  white-space: nowrap; /* 不换行 */
  overflow: hidden; /* 保证超出宽度时 text-overflow: ellipsis 能生效 */
  text-overflow: ellipsis; /* 用省略号表示被截断的文本 */
}
.caption .separator {
  width: 100%;
  height: 3px;
  background-color: rgba(252, 225, 0, 1);
  border-radius: 3px;
  clear: both;
}
.caption .detail {
  font-style: normal;
  font-weight: normal;
  font-size: small;
  color: rgba(255, 255, 255, 0.65);
}
.caption .detail > .story {
  color: rgba(255, 255, 255, 0.85);
}
.caption .detail > .copyright > a {
  color: rgba(255, 255, 255, 0.85);
}
.caption .detail > .info > a {
  color: rgba(255, 255, 255, 0.65);
}
.caption .detail > .info > :first-child {
  color: rgb(40, 210, 190);
}

.menu-mask {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 5;
}
.menu {
  position: fixed;
  /* 不使用 display: none，而是移出屏幕，便于获取大小信息 */
  left: -999px;
  top: -999px;
  z-index: 6;
}
.menu > ul {
  margin: 0; /* 去除上下多余空白 */
  padding: 0; /* 去除左侧多余空白 */
  border: 2px solid rgba(240, 240, 240, 0.1);
  border-radius: 8px;
  backdrop-filter: blur(30px) saturate(180%) brightness(80%); /* 背景模糊、饱和度、亮度 */
  -webkit-backdrop-filter: blur(30px) saturate(180%) brightness(80%); /* 兼容 Safari */
  background-color: rgba(0, 0, 0, 0.5); /* 需有透明度 */
  list-style: none;
  font-style: normal;
  font-weight: normal;
  font-size: small;
  user-select: none; /* 禁止选择文本 */
}
.menu .menu-item {
  /* flex 布局的基本概念：https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox */
  display: flex;
  flex-direction: row; /* flex 布局中子元素水平排列 */
  flex-wrap: nowrap; /* flex 布局中子元素不换行 */
  align-items: center; /* flex 布局中子元素垂直居中 */
  /*justify-content: space-between;*/
  /*line-height: 28px;*/
  margin: 4px;
  padding: 8px;
}
/*.menu .menu-item:before {*/
/*  font-family: 'FontAwesome';*/
/*  content: "\f02b";*/
/*  color: rgba(255, 255, 255, 1);*/
/*}*/
.menu .menu-item:hover {
  background-color: rgba(240, 240, 240, 0.1);
  border-radius: 4px;
}
.menu i {
  color: rgba(255, 255, 255, 0.85);
}
.menu .menu-item-title {
  text-align: left;
  color: rgba(255, 255, 255, 1);
  white-space: nowrap; /* 不换行 */
  /*overflow: hidden;*/
}
.menu .menu-item-key {
  flex-grow: 1; /* flex 布局中占满剩余空间 */
  text-align: right;
  font-size: x-small;
  color: rgba(255, 255, 255, 0.6);
  white-space: nowrap; /* 不换行 */
  /*overflow: hidden;*/
}
.menu .menu-sep {
  height: 2px;
  margin: 0 8px;
  background-color: rgba(240, 240, 240, 0.1);
}

.toast-mask {
  position: fixed;
  z-index: 7;
  /* 通过 left bottom 控制显示于右下角 */
  left: 0;
  right: auto;
  top: 0;
  max-width: min(calc(100% - 60px - 32px), 550px); /* 限制内容宽度不超出550，并且不超过显示区域（需减去右内外边距） */
  margin: 30px;
}
.toast {
  display: flex;
  flex-direction: row; /* flex 布局中子元素水平排列 */
  flex-wrap: nowrap; /* flex 布局中子元素不换行 */
  align-items: center; /* flex 布局中子元素垂直居中 */
  font-style: normal;
  font-weight: normal;
  font-size: small;
  color: rgba(255, 255, 255, 1);
  user-select: none; /* 禁止选择文本 */
  border-radius: 8px;
  padding: 13px 16px; /* 上、下 */
  width: fit-content; /* div 默认 100%，改为自适应宽度 */
  /* WinUI Acrylic 效果 https://ubug.io/blog/fluent-acrylic */
  backdrop-filter: blur(30px) saturate(180%) brightness(80%); /* 背景模糊、饱和度、亮度 */
  -webkit-backdrop-filter: blur(30px) saturate(180%) brightness(80%); /* 兼容 Safari */
  background-color: rgba(0, 0, 0, 0.5); /* 需有透明度 */
}
/*.toast .msg {*/
/*  flex-grow: 1; !* flex 布局中占满剩余空间 *!*/
/*}*/
.toast .icon-info {
  color: rgb(40, 210, 190);
}
.toast .icon-error {
  color: rgb(244, 67, 54);
}
.toast a.action {
  color: rgba(255, 255, 255, 1);
  white-space: nowrap; /* 不换行 */
}